/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package BusinessTier;

import DataTier.ContratadoDAO;
import EntitiesTier.ClContratado;
import java.io.IOException;
import java.util.List;
/**
 *
 * @author Douglas
 */
public class ContratadoBUS 
{
    public List<ClContratado> listar() throws Exception
    {
        try
        {
            ContratadoDAO dao = new ContratadoDAO();
            return dao.todos();
        }
        catch(IOException  e)
        {
            System.err.println("Erro: " + e.getMessage());
            return null;
        }    
    }
    
    public int inserir(ClContratado obj) throws Exception
    {
        try
        {
            if(valida_adicao(obj))
            {
                ContratadoDAO dao = new ContratadoDAO();
                obj.setCODO_COD(dao.incluir(obj));
            }
        }
        catch(IOException  e)
        {
            System.err.println("Erro: " + e.getMessage());
        }
        finally
        {
           return obj.getCODO_COD();
        }
    }
    
    public void atualizar(ClContratado obj) throws Exception
    {
        try
        {
            if(valida_adicao(obj))
            {
                ContratadoDAO dao = new ContratadoDAO();
                dao.atualizar(obj);            
            }
        }
        catch(IOException  e)
        {
            System.err.println("Erro: " + e.getMessage());
        }
    }
    
    public ClContratado buscar(int cod_codo) throws Exception
    {
        try
        {
            ContratadoDAO dao = new ContratadoDAO();
            return dao.procurar(cod_codo);
        }
        catch(IOException  e)
        {
            System.err.println("Erro: " + e.getMessage());
            return null;
        }
    }
    
    public List<ClContratado> buscar(String codo_razao) throws Exception
    {
        try
        {
            ContratadoDAO dao = new ContratadoDAO();
            return dao.procurar(codo_razao);
        }
        catch(IOException  e)
        {
            System.err.println("Erro: " + e.getMessage());
            return null;
        }    
    }
    
    public void excluir(int cod_codo) throws Exception
    {
        try
        {
            ContratadoDAO dao = new ContratadoDAO();
            dao.excluir(cod_codo);
        }
        catch(IOException  e)
        {
            throw new Exception("Erro: " + e.getMessage());
        }
    }
    
    public boolean valida_adicao(ClContratado obj) throws Exception
    {
        if(obj.getCODO_TIPO() == 1)
            if(obj.getCODO_CNPJ() == "" || obj.getCODO_CNPJ() == null)
            {
                throw new Exception("Deve preencher o CNPJ do contratados.");
            }
            
            if(obj.getCODO_RAZAO() == null || obj.getCODO_RAZAO() == "")
            {
                throw new Exception("Deve preencher a Razão Social.");
            }
            
            if(obj.getCODO_RESPONSAVEL() == "" || obj.getCODO_RESPONSAVEL() == null)
            {
                throw new Exception("Deve preencher o responsavel");
            }
            return true;       
    }
}
